Public Sub Cull(ByVal X As Single, ByVal Y As Single, ByVal Z As Single)
Dim obj As Face3d
For Each obj In Faces
obj.Cull X, Y, Z
Next obj
End Sub
' Set or clear the Culled property for all faces.
Property Let Culled(ByVal new_value As Boolean)
Dim obj As Face3d
For Each obj In Faces
obj.IsCulled = new_value
Next obj
End Property
' Apply a transformation matrix which may not
' contain 0, 0, 0, 1 in the last column to the
' object.
Public Sub ApplyFull(M() As Single)
Dim obj As Face3d
For Each obj In Faces
obj.ApplyFull M
Next obj
End Sub
' Apply a transformation matrix to the object.
Public Sub Apply(M() As Single)
Dim obj As Face3d
For Each obj In Faces
obj.Apply M
Next obj
End Sub
' Draw the transformed solid on a PictureBox.
Public Sub Draw(ByVal pic As PictureBox, ByVal light_sources As Collection, ByVal ambient_light As Integer, ByVal eye_x As Single, ByVal eye_y As Single, ByVal eye_z As Single)